package com.watt.gateway.utils;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.data.redis.core.ValueOperations;
import org.springframework.stereotype.Repository;

import java.util.concurrent.TimeUnit;

/**
 *
 */
@Repository
public class RedisUtil {

    @Autowired
    private StringRedisTemplate template;

    /**
     * 新增/修改
     *
     * @param key      键
     * @param value    值
     * @param l        超时时间
     * @param timeUnit 单位
     */
    public void setKey(String key, String value, long l, TimeUnit timeUnit) {
        ValueOperations<String, String> ops = template.opsForValue();
        //1分钟过期
        ops.set(key, value, 1, TimeUnit.MINUTES);
    }

    /**
     * 不过期设置
     *
     * @param key     键
     * @param strJson 值
     */
    public void setKey(String key, String strJson) {
        ValueOperations<String, String> ops = template.opsForValue();
        // 永远不过期
        ops.set(key, strJson);
    }

    /**
     * 根据key获取值
     *
     * @param key
     * @return
     */
    public String getValue(String key) {
        ValueOperations<String, String> ops = this.template.opsForValue();
        return ops.get(key);
    }

    /**
     * 根据key删除
     *
     * @param key
     */
    public void delUser(String key) {
        this.template.delete(key);
    }

}
